package agencia;

import java.util.Date;

public class Cuota 
{
	private int numeroCuota;
	public int GetNumeroCuota()
	{
		return numeroCuota;
	}	
	
	private Date fechaPago;
	public Date GetFechaPago()	
	{
		return fechaPago;
	}	
	
	private Date fechaVencimiento;
	public Date GetFechaVencimiento()	
	{
		return fechaVencimiento;
	}		
	
	enum EstadoCuota 
	{
		Impaga,
		Paga
	};	
	
	private EstadoCuota estado;
	public EstadoCuota GetEstado()
	{
		return estado;
	}
		
	public Cuota(int numero, Date vencimiento)
	{
		this.numeroCuota = numero;
		this.estado = EstadoCuota.Impaga;
		this.fechaVencimiento = vencimiento;
	}
	
	public boolean CuotaVencida()
	{
		Date fechaActual = new Date();
		if((this.estado==EstadoCuota.Impaga) && (fechaActual.after(this.fechaVencimiento)))
			return false;
		if((this.estado==EstadoCuota.Paga) && (fechaActual.after(this.fechaPago)))		
			return false;		
		return true;
	}
	
	public void CerrarCuota()
	{
		fechaPago = new Date();
		estado = EstadoCuota.Paga;
	}
}
